package com.yonyou.iuap.shell.dao;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Repository;

import com.yonyou.iuap.base.dao.IKmBaseDao;
import com.yonyou.iuap.persistence.mybatis.anotation.MyBatisRepository;
import com.yonyou.iuap.shell.entity.BdCompatibleEntity;
import com.yonyou.iuap.shell.entity.exp.CompatiblePojo;
import com.yonyou.iuap.shell.entity.exp.ShellCompatiblePoJo;
import com.yonyou.iuap.shell.pub.IShellDaoEnum;
import com.yonyou.iuap.shell.pub.RequestDto;


/**
 * 
 * BdCompatibleEntityDao数据库操作接口类
 * 
 **/
@MyBatisRepository
@Repository(value=IShellDaoEnum.Shell_Dao_Compatible)
public interface BdCompatibleEntityDao<T> extends IKmBaseDao<T>{
	
	/**
	 * 根据关键字查询产品接口
	 * @param param
	 * @return
	 */
	public List<CompatiblePojo> queryCompatible(Map<String,String> param);
	/**
	 * 竞品分页查询
	 * @param reqDto
	 * @return
	 */
	public List<ShellCompatiblePoJo> pageQuery(RequestDto reqDto);
	/**
	 * 竞品查询汇总数
	 * @param reqDto
	 * @return
	 */
	public int pageQueryCount(RequestDto reqDto);
	
	/**查询所有竞品根据首字母排序
	 * @return
	 */
	public List<BdCompatibleEntity> queryAll();
	
	/**
	 * 查询所有分页
	 * **/
	public List<BdCompatibleEntity> queryAllPage(Map param);
	
	public int queryAllPagecount(Map param);
	
	public int queryCompatiblecount(Map param);
	
	public int selectByConditionPagecount(Map param);
	
	public List<BdCompatibleEntity> selectByConditionPage(Map param);

}